#ifdef OSGI_USE_15S_HEADER
#include "../interface/InterfaceDef.h"
#include "osgi-core/osgi-predefined.h"
#else // OSGI_USE_15S_HEADER
#ifndef OSGI_ISERVICEEVENT_H__
#define OSGI_ISERVICEEVENT_H__

#include "osgi-predefined.h"
#include "IEvent.h"

#define SERVICE_REGISTERED_EVENT		1
#define SERVICE_UNREGISTERING_EVENT		2
#define SERVICE_UNREGISTERED_EVENT		3
#define SERVICE_USER_EVENT				100

OSGI_NAMESPACE_BEGIN

OSGI_INTERFACE IServiceEvent : public IEvent
{
	virtual ~IServiceEvent() {}

	virtual const char* OSGI_API EventDesp() = 0;
	virtual const char* OSGI_API ServiceName() = 0;
	virtual const char* OSGI_API BundleName() = 0;
	virtual IDictionary* OSGI_API ServiceAttr() = 0;
};

OSGI_INTERFACE IServiceEventListener
{
	virtual ~IServiceEventListener() {}

	virtual int OSGI_API OnServiceEvent(
		IServiceEvent* event) = 0;
};

OSGI_NAMESPACE_END

#endif // OSGI_ISERVICEEVENT_H__
#endif // OSGI_USE_15S_HEADER